package com.taxshare.seller.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.taxshare.mybatis.entity.BaseEntity;
import com.taxshare.seller.constant.SellerRedInvoiceDetailConstant;
import com.taxshare.seller.constant.table.TableConstant;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(TableConstant.t_SELLER_RED_INVOICE_DETAIL)
@ApiModel(description = "红字申请单明细")
public class SellerRedInvoiceDetailEntity extends BaseEntity implements Serializable {

    @TableId("uuid")
    @ApiModelProperty("主键")
    private String uuid;
    /**
     * 主表的主键id
     */
    @TableField(SellerRedInvoiceDetailConstant.RED_INFO_ID)
    private String redInfoId;

    /**
     * 商品名称
     */
    @TableField(SellerRedInvoiceDetailConstant.GOOD_NAME)
    private String goodsName;

    /**
     * 规格型号
     */
    @TableField(SellerRedInvoiceDetailConstant.GOOD_TYPE)
    private String goodType;

    /**
     * 单位
     */
    @TableField(SellerRedInvoiceDetailConstant.UNIT)
    private String unit;

    /**
     * 单价
     */
    @TableField(SellerRedInvoiceDetailConstant.UNIT_PRICE)
    private String unitPrice;

    /**
     * 数量
     */
    @TableField(SellerRedInvoiceDetailConstant.GOOD_NUMBER)
    private String goodNumber;

    /**
     * 不含税金额
     */
    @TableField(SellerRedInvoiceDetailConstant.GOOD_SUM)
    private String goodsSum;

    /**
     * 税额
     */
    @TableField(SellerRedInvoiceDetailConstant.GOOD_TAX)
    private String goodTax;

    /**
     * 含税金额
     */
    @TableField(SellerRedInvoiceDetailConstant.GOOD_SUM_TAX)
    private String goodSumTax;

    /**
     * 税率
     */
    @TableField(SellerRedInvoiceDetailConstant.TAX_RATE)
    private String taxRate;

    /**
     * 零税率标识（空为正常税率，1-免税，2-不征税，3-普通零税率）
     */
    @TableField(SellerRedInvoiceDetailConstant.TAX_RATE_MARK)
    private String taxRateMark;

    /**
     * 优惠政策标识（0-无优惠政策 1-有优惠政策）
     */
    @TableField(SellerRedInvoiceDetailConstant.PREFERENTIAL_MARK)
    private String preferentialMark;

    /**
     * 优惠政策名称
     */
    @TableField(SellerRedInvoiceDetailConstant.PREFERENTIAL_NAME)
    private String preferentialName;

    /**
     * 税收分类编码
     */
    @TableField(SellerRedInvoiceDetailConstant.TAX_CODE)
    private String taxCode;

    /**
     * 明细行序号
     */
    @TableField(SellerRedInvoiceDetailConstant.DETAIL_NO)
    private String detailNo;

    @TableField(SellerRedInvoiceDetailConstant.RED_MAKE)
    @ApiModelProperty("是否红冲标志")
    private String redMark;

    @ApiModelProperty(value = "纳税人识别号")
    @TableField("seller_tax_no")
    private String sellerTaxNo;
}
